717004a2e611c7784e09eb3fb63cc74154cdbfea,advanced/src/java/org/neo4j/impl/nioneo/xa/NeoTransaction.java,NeoTransaction,nodeRemoveProperty,#number#number#,983
Before Change
prevPropRecord = getPropertyStore().getLightRecord( prevProp );
}
prevPropRecord.setNextProp( nextProp );
addPropertyRecord( prevPropRecord );
}
if ( nextProp != Record.NO_NEXT_PROPERTY.intValue() )
{
PropertyRecord nextPropRecord = getPropertyRecord( nextProp );
if ( nextPropRecord == null )
{
nextPropRecord = getPropertyStore().getLightRecord( nextProp );
}
nextPropRecord.setPrevProp( prevProp );
addPropertyRecord( nextPropRecord );
}
}
After Change
propRecord = getPropertyStore().getRecord( propertyId );
addPropertyRecord( propRecord );
}
if ( !propRecord.inUse() )
{
throw new IllegalStateException( "Unable to delete property[" +
propertyId + "] since it is already deleted." );
}
propRecord.setNodeId( nodeId );
if ( propRecord.isLight() )
{
getPropertyStore().makeHeavy( propRecord );
}
propRecord.setInUse( false );
// TODO: update count on property index record
for ( DynamicRecord valueRecord : propRecord.getValueRecords() )
{
if ( valueRecord.inUse() )
{
valueRecord.setInUse( false, propRecord.getType().intValue() );
}
}
int prevProp = propRecord.getPrevProp();
int nextProp = propRecord.getNextProp();
if ( nodeRecord.getNextProp() == propertyId )
{
nodeRecord.setNextProp( nextProp );
// re-adding not a problem
addNodeRecord( nodeRecord );
}
if ( prevProp != Record.NO_PREVIOUS_PROPERTY.intValue() )
{
PropertyRecord prevPropRecord = getPropertyRecord( prevProp );
if ( prevPropRecord == null )
{
prevPropRecord = getPropertyStore().getLightRecord( prevProp );
addPropertyRecord( prevPropRecord );
}
assert prevPropRecord.inUse();
prevPropRecord.setNextProp( nextProp );
}
if ( nextProp != Record.NO_NEXT_PROPERTY.intValue() )
{
PropertyRecord nextPropRecord = getPropertyRecord( nextProp );
if ( nextPropRecord == null )
{
nextPropRecord = getPropertyStore().getLightRecord( nextProp );
addPropertyRecord( nextPropRecord );
}
assert nextPropRecord.inUse();
nextPropRecord.setPrevProp( prevProp );
}
}